Storing and retrieving encoded data stream with specified time of delivery on a hard disk

ABSTRACT

In an embodiment of the invention, a method is provided for storing multimedia information to a medium. In another embodiment, a method is provided for retrieving multimedia information stored on a medium.

RESERVATION OF COPYRIGHT

This patent document contains material subject to copyright protection.The copyright owner has no objection to the facsimile reproduction byanyone of the patent document, as it appears in the U.S. Patent andTrademark Office patent files or records, but otherwise reserves allcopyright rights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates to certain types of apparatus and methodsfor storing multimedia information to and retrieving multimediainformation from a storage medium, such as, for example, a hard disk,magnetic tape, optical disk, and a writable CD.

2. Description of Background Information

Multimedia information is encoded and packetized using an acceptedstandard. The multimedia information is encoded and packetized fortransmission via a transport stream from a source to a destination fordecoding and playback. Some of the packets include timing information,which is critical for playback. Typically, the data is transmitted fromthe source to a destination over a channel having a constant delay. Dueto the constant delay, the temporal information carried in the transportstream is preserved.

Media are increasingly utilized and applied for storing and playingvideo programs in digital form. Such media may include, for example, ahard disk, magnetic tape, optical disk, a writable CD, and any otherdevice capable of storing digitized multimedia information. For example,industries, such as television, movie, and music industries areincreasingly employing the use of hard disks. Applications, such asMPEG-2, transform video and audio contents forming a transport stream(TS) of packets of information.

There are many types of packets of information, each identified by aunique identifier. Some of the packets may contain a Program ClockReference (PCR) field, which carries the timing information that allowsthe decoder clock to periodically resynchronize components of thevideo/audio with the assistance of additional time stamps; such as adecode time stamp and a presentation time stamp. The PCR field allowsthe decoder clock to track the encoder clock so as to not underrun oroverrun the decoder's buffer. Timing information is carried only in thePCR packets, which occur at time intervals not exceeding 100milliseconds.

When the TS is delivered through a constant delay transmission channeldirectly from the source, such as an MPEG-2 TS encoder 102, to areceptor, such as an MPEG-2 decoder 104, there is no problem inreconstructing the video/audio contents. See FIG. 1. In thisarrangement, the decoder extracts the PCR values in the packets andgenerates the clock using circuitry to form a phase locked loop. Thetemporal relationship arising from the direct connection allows thereceptor to recover the original clock. The intervening packets ofinformation that do not have PCR fields (non-PCR packets) do notinterfere with the timing information since the decoder decodes theencoded packets as it receives each packet.

However, when there is no direct connection between the source and thereceptor and no constant delay therebetween, it may be impossible torecover the original clock. One such instance is when the video isstored on a hard disk for playback at a later time. FIG. 2 generallydepicts the movement of a TS in such a system. For instance, the encoder102 dictates the arrival of the packets for storage on the hard diskdrive 202. The hard disk drive 202 incorporates a timing generatorhaving the clock rate of the encoder used to generate PCR values. Thestorage apparatus monitors the output of the timing generator andoutputs a packet when the PCR value in the packet equals the value inthe timing generator. However, for non-PCR packets, there is no timingvalue for comparison. Therefore, the decoder does not know when tooutput these non-PCR packets. This may result in an incomplete or fuzzyvideo or audio playback. Other problems that may arise are loss of colorand “jumpy” pictures.

Thus, there is a need for a method and apparatus that allows for thestorage of digital packets and for accurate retrieval of the storedinformation with a certain required timing.

SUMMARY

In an embodiment of the invention, a method is provided for storingmultimedia information to a medium. Encoded packets of the multimediainformation are received. The encoded packets include timing informationin a subset of the encoded packets arriving at least every predeterminedtime period. Storage timing fields are added to respective atcorresponding encoded packets. A value from a timing generator is storedinto a given storage timing field when the corresponding encoded packetdoes not include the timing information. A value from the timinginformation of the corresponding encoded packet is stored into the givenstorage timing field and the value in the timing generator is reset whenthe corresponding encoded packet includes the timing information. Theencoded packet is then stored onto the medium.

In another embodiment, a method is provided for retrieving multimediainformation stored on a medium. A signal recorded on the medium is read,the signal representing encoded packets of multimedia information. Arespective corresponding encoded packet includes a given first timinginformation in a storage timing field. The given first timinginformation in the storage timing field is compared to a timing valuefrom a timing generator.

The given storage timing field from the respective corresponding encodedpacket is removed and the respective corresponding encoded packet isoutput to a decoder when the comparing of the first timing informationand the timing value indicates that a respective transmission time hasbeen reached.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features, and advantages of the presentinvention are further described in the Detailed Description whichfollows, with reference to the drawings by way of non-limiting exemplaryembodiments of the invention, wherein like reference numerals representsimilar parts of the present invention throughout the several views andwherein:

FIG. 1 is a prior art depiction of an arrangement for decoding with aconstant delay using phase locked loop circuitry;

FIG. 2 is a depiction of an arrangement for storing multimediainformation to and retrieving multimedia information from a hard diskdrive;

FIG. 3 is a system diagram of one embodiment of an apparatus for storinginformation on a medium;

FIG. 4 illustrates the packets of information over time as they enterthe storing apparatus;

FIG. 5 illustrates the packets of information with storage timing fieldsadded by the timing field adder,

FIG. 6 depicts a flow chart of the method of storing information on amedium using one embodiment of the present invention;

FIG. 7 is a system diagram of an embodiment of an apparatus forretrieving information stored on a medium;

FIG. 8 depicts a flow chart of a method of retrieving information storedon a medium;

FIG. 9 depicts a system diagram of an embodiment of an apparatus forstoring information on a medium and retrieving information stored on amedium; and

FIGS. 10A and 10B are flow charts of a method of storing information ona medium and retrieving the stored information for playback.

DETAILED DESCRIPTION

Referring now to the drawings in greater detail, FIG. 3 generallydepicts a storing apparatus 300, in accordance with one illustratedembodiment of the present invention. The apparatus 300 comprises astorage area 310, a timing field adder 320, a determiner 330, a packetstorer 340, and a storage timing generator 360. Timing field adder 320further comprises a timing field storer 322. In the illustratedembodiment, the storage area may be, for example, a computer memory, andthe timing field adder 320, the determiner 330, and the packet storer340, may be implemented in software or firmware executing within aprocessor included in the apparatus; however, these elements may,instead, be implemented in hardware.

Storage area 310 receives a packet of incoming encoded multimediainformation. The format of the incoming information can be arranged tofollow different specifications, such as MPEG-2. FIG. 4 illustrates thereceipt of packets 105 by storage area 310 over time. Over the course ofthis detailed description, MPEG-2 is used by way of example and is notintended to limit the application of the present invention.

Timing field adder 320 adds a time field 324 to each packet 105 ofinformation received in storage area 310. The time field 324 includes a42 bit timing value. FIG. 5 illustrates the addition of time fields 324to each of the packets 105 over time in the storage area 310.

Determiner 330 examines each packet 105 of information received instorage area 310 to determine whether packet 105 containstiming-information, for example, a PCR field. Timing field storer 322stores a value of the timing information in packet 105 in correspondingtime field 324. If determiner 330 finds packet 105 to contain the timinginformation, time field storer 322 resets the value of storage timinggenerator 360 to the value of the timing information.

If determiner 330 finds packet 105 to not contain timing information,time field storer 322 enters a value from storage timing generator 360in corresponding timing field 324. Once timing field 324 is written,packet storer 340 stores the encoded packet 105, including thecorresponding timing field 324, to a medium. In the illustratedembodiment, the medium may comprise any mechanism that can store datafor a significant period of time, such as, for example, a floppy disk,hard disk, CD/RW, or optical disk.

FIG. 6 is a flow chart illustrating an embodiment of a method forstoring the packets in the medium. In a first act A600, a packet 105 ofinformation is received in storage area 310. In a second act A602,timing field adder 320 adds timing field 324 to packet 105 received instorage area 310. In a third act A604, determiner 330 reviews packet 105to determine whether packet 105 contains timing information. Dependingon the finding of determiner 330 in act A604, the next act may take oneof two paths, an act A606 or acts A608 and A610. If determiner 330 findsin act A604 that the packet does not contain timing information, timingfield storer 322 stores a value of storage timing generator 360 incorresponding timing field 324 of packet 105 in next act A606. Ifdeterminer 330 finds timing information in packet 105 in act A604,timing field storer 322 stores the value from the timing information intiming field 324 of packet 105 in next act A608. At the same time as orin sequence with act A608, act A610 is performed to cause, time fieldstorer 322 to reset storage timing generator 360 with the value from thetiming information in packet 105. Finally, in act A612, the encodedpacket 105, including timing field 324 with the stored value from actA604 or A606, is stored on the medium. Acts A600 through A612 arerepeated for each packet 105 of information until all of the informationis stored in the medium.

FIG. 7 illustrates another embodiment of the present invention, aretrieving apparatus 700 for retrieving information stored in themedium. Retrieving apparatus 700 comprises a comparer 710, a retrievaltiming generator 720, a remover 730, a decoder 740, and a receivingmechanism 750. In the illustrated embodiment, the receiving mechanism750 may be, for example, a computer memory, and the comparer 710 and theremover 730 may be implemented in software or firmware executing withina processor included in the apparatus 700; however, these elements may,instead, be implemented in hardware.

Retrieval timing generator 720 maintains an internal timing clock overthe course of the retrieval method. Retrieval timing generator 720 maycomprise an appropriate timing mechanism capable of being reset.Receiving mechanism 750 receives a packet 105 of information read from amedium. Comparer 710 compares the value in the timing field 324 with thevalue in retrieval timing generator 720. The timing field 324 includes a42 bit timing value. Remover 730 removes corresponding timing field 324from packet 105 when comparer 710 finds the transmission time to beappropriate and outputs packet 105 to decoder 740. In the illustratedembodiment, decoder 740 is an MPEG-2 decoder, however, decoder 740 canbe any decoding mechanism appropriate for decoding the encodedinformation.

FIG. 8 illustrates an embodiment of a method for retrieving multimediainformation stored in the medium. In a first act A800, receivingmechanism 750 receives packets 105 of encoded information read from amedium. In this embodiment, packets 105 are read and received byreceiving mechanism 750 in a “first in, first out” manner such thatpackets 105 received by receiving mechanism 750 from the medium firstare the first to leave receiving mechanism 750.

In a second act A810, comparer 710 compares the values in timing field324 and retrieval timing generator 720. When comparer 710 finds thevalues in timing field 324 for a certain packet 105 and retrieval timinggenerator 720 to be equal or to be within a predetermined value earlierthan the value of the retrieval timing generator 720, remover 730 at actA820 removes timing field 324 from the certain packet 105 and outputsthe packet to decoder 740. If the clock rate of the storage timinggenerator 360 is faster than the encoder clock rate, all packets betweentwo packets having timing information could not be delivered before thenext packet with timing information arrives. Therefore, it is preferablefor storage timing generator 360 to release the packets at apredetermined amount earlier than the stored value in timing field 324.

FIG. 9 illustrates one embodiment of a storing and retrieval apparatus900 for storing multimedia information in an appropriate medium and forretrieving the stored information for playback with a certain level ofaccuracy. Apparatus 900 includes a storage area 310, a timing fieldadder 320, which includes a timing field storer 322, a determiner 330, apacket storer 340, a storage timing generator 360, a medium 950, acomparer 710, a retrieval timing generator 720, a remover 730, a decoder740, and a receiving mechanism 750.

As mentioned earlier, in the illustrated embodiment, the storage area310 may be, for example, a computer memory, and the timing field adder320, the determiner 330, and the packet storer 340; may be implementedin software or firmware executing within a processor included in theapparatus; however, these elements may, instead, be implemented inhardware. Furthermore, the receiving mechanism 750 may be, for example,a computer memory, and the comparer 710 and the remover 730 may beimplemented in software or firmware executing within a processorincluded in the apparatus 700; however, these elements may, instead, beimplemented in hardware.

The elements of storage and retrieval apparatus 900 perform thefunctions of corresponding elements in the previously describedembodiments of the present invention in order to achieve storage andretrieval of multimedia data.

FIGS. 10A and 10B explain the processing performed in the embodiment ofFIG. 9.

In a first act A1000, storage area 310 receives encoded packets 105 ofmultimedia information from an encoder. In a second act A1010, timingfield adder 320 adds and timing field storer 322 stores a timing field324 to the each packet 105 received in storage area 310.

While the illustrated embodiment attaches timing field 324 to the frontof each packet 105, timing field 324 may be attached in any appropriateposition.

For each packet 105, determiner 330 reviews the contents of packet 105to identify whether packet 105 contains timing information in a next actA1020. If packet 105 does not contain the timing information, time fieldstorer 322 sets timing field 324 to the corresponding value in storagetiming generator 360 in a next act A1030.

If packet 105 does contain timing information, two actions occur. First,timing field 324 is set to the value from the timing information inpacket 105 in a next act A1040.

Second, storage timing generator 360 is reset to the timing informationvalue in packet 105 in a further act A1050. Note that acts A1040 andA1050 can occur simultaneously or sequentially.

Once timing field 324 contains the appropriate value, packet 105 isstored in medium 950 in a next act A1060 by packet storer 340. Themedium 950 may comprise any of the media forms described earlier.

When retrieval of the stored information is desired, receiving mechanism750 reads encoded packets 105, including timing field 324, from themedium 950 in a next act A1070. Retrieval timing generator 720 initiallysets the value in timing field 324 to the value of the first packetread. As packets 105 are read from medium 950, comparer 710 compares thevalue in timing field 324 of each packet 105 with the value in retrievaltiming generator 720 in a next act A1080. When comparer 710 finds thatthe value in one of the timing fields 324 is a predetermined amount lessthan the value in retrieval timing generator 720, comparer 710 indicatesto remover 730 that transmission time for packet 105 has been reached.In a next act A1090, remover 730 removes timing field 324 from thepacket 105 and outputs the packet 105 to decoder 740 in an act A1095.

While the invention has been described by way of example embodiments, itis understood that the words which have been used herein are words ofdescriptions, rather than words of limitation. Changes may be made,within the purview of the appended claims, without departing from thescope and spirit of the invention in its broader aspects. Although theinvention has been described herein with reference to particularstructures, materials, and embodiments, it is understood that theinvention is not limited to the particulars disclosed. The inventionextends to all equivalent structures, mechanisms, acts, and uses, suchas are within the scope of the appended claims.

1. A method for storing multimedia information on a medium, comprising:receiving encoded packets of the multimedia information, a subset of theencoded packets including timing information arriving at least everypredetermined time period; adding storage timing fields to respectivecorresponding encoded packets; when a corresponding encoded packet doesnot include the timing information, storing a value from a timinggenerator into a given storage timing field; when the correspondingencoded packet includes the timing information, storing a value from thetiming information of the corresponding encoded packet into the givenstorage timing field and resetting the value in the timing generator;and storing the corresponding encoded packet onto the medium.
 2. Themethod of claim 1, wherein the received encoded packets are in an MPEG2format.
 3. The method of claim 1, wherein the storage timing fieldincludes a 42 bit timing value.
 4. The method of claim 1, wherein thepredetermined time period is 100 milliseconds.
 5. The method of claim 1,wherein the resetting of the value in the timing generator comprisessetting the timing generator to the value in the timing information. 6.An apparatus for storing multimedia information on a medium, comprising:a storage area for storing a received encoded packet of a plurality ofencoded packets, the encoded packets including the multimediainformation, and a subset of the encoded packets including timinginformation arriving at least every predetermined time period; a timingfield adder to add a storage timing field to the encoded packet in thestorage area; a timing generator; a determiner to determine whether theencoded packet in the storage area includes the timing information; anda packet storer for storing the encoded packet, including the storagetiming field, onto the medium, wherein: the timing field adder includesa timing field storer for reading and storing a value of the timinginformation into the storage timing field and resetting a value in thetiming generator when the determiner determines that the encoded packetin the storage area includes the timing information, and the timingfield storer for reading and storing the value of the timing generatorinto the storage timing field when the determiner determines that theencoded packet in the storage area does not include the timinginformation.
 7. The apparatus of claim 6, wherein the received encodedpacket is in an MPEG2 format.
 8. The apparatus of claim 6, wherein thestorage timing field includes a 42 bit timing value.
 9. The apparatus ofclaim 6, wherein the predetermined time period is 100 milliseconds. 10.The apparatus of claim 6, wherein when the timing field storer resetsthe value in the timing generator, the timing generator is reset to thevalue in the timing information.
 11. A method for storing and retrievingmultimedia information, comprising: receiving encoded packets of themultimedia information, a subset of the encoded packets including timinginformation arriving at least every predetermined time period; addingstorage timing fields to respective corresponding encoded packets; whenthe corresponding encoded packet does not include the timinginformation, storing a value from a receive timing generator into agiven storage timing field; when the corresponding encoded packetincludes the timing information, storing a value from the timinginformation of the corresponding encoded packet into the given storagetiming field and resetting the value in the receive timing generator;and storing the corresponding encoded packet onto a medium; reading asignal recorded on the medium, the signal representing encoded packetsof multimedia information; comparing a value in a given storage timingfield of a respective read corresponding encoded packet to a value froma send timing generator; and removing the given storage timing fieldfrom the read respective corresponding encoded packet and outputting therespective corresponding encoded packet to a decoder when the act ofcomparing indicates that a respective transmission time has beenreached.
 12. The method of claim 11, wherein the received respectivecorresponding encoded packet and the outputted respective correspondingencoded packet are in an MPEG2 format.
 13. The method of claim 11,wherein the storage timing fields include a 42 bit timing value.
 14. Themethod of claim 11, wherein the predetermined time period is 100milliseconds.
 15. The method of claim 11, wherein the respectivetransmission time is a time which is a second predetermined time periodearlier than a time indicated by the value in the respective storagetiming field.
 16. An apparatus for storing multimedia information to amedium and retrieving the multimedia information from the medium, theapparatus comprising: a storage area for storing a received encodedpacket of a plurality of encoded packets, the encoded-packets includingthe multimedia information, and a subset of the encoded packetsincluding timing information arriving at least every predetermined timeperiod; a timing field adder to add a storage timing field to theencoded packet in the storage area; a receive timing generator; adeterminer to determine whether the encoded packet in the storage areaincludes the timing information; a packet storer for storing the encodedpacket, including the storage timing field, onto the medium; a receiverfor receiving a read signal from the medium, the signal representing theencoded packet of multimedia information, the encoded packet includingthe storage timing field; a send timing generator; a comparer forcomparing the value in the storage timing field to a timing value fromthe send timing generator; and a remover for removing the storage timingfield from the encoded packet and outputting the encoded packet to adecoder when the comparer indicates that a respective transmission timehas been reached, wherein: the timing field adder includes a timingfield storer for reading and storing a value of the timing informationinto the storage timing field and resetting a value in the receivetiming generator when the determiner determines that the encoded packetin the storage area includes the timing information, and the timingfield storer for reading and storing the value of the receive timinggenerator into the storage timing field when the determiner determinesthat the encoded packet in the storage area does not include the timinginformation.
 17. The apparatus of claim 16, wherein the received encodedpacket and the outputted encoded packet are in an MPEG2 format.
 18. Theapparatus of claim 16, wherein the storage timing field includes a 42bit timing value.
 19. The apparatus of claim 16, wherein thepredetermined time period is 100 milliseconds.
 20. The apparatus ofclaim 16, wherein the respective transmission time is a time which is asecond predetermined time period earlier than a time indicated by thevalue in the respective storage timing field.
 21. The apparatus of claim16, wherein when the timing field adder resets the value in the receivetiming generator, the receive timing generator is reset to the value ofthe timing information.
 22. A machine-readable medium having recordedtherein machine-readable information, such that when themachine-readable information is read and executed by a processor withina storage device for storing multimedia information, the processor iscaused to direct the storage device to: receive encoded packets of themultimedia information, a subset of the encoded packets to includetiming information arriving at least every predetermined time period;add storage timing fields to respective corresponding encoded packets;when the corresponding encoded packet does not include the timinginformation, store a value from a timing generator into a given storagetiming field; when the corresponding encoded packet includes the timinginformation, store a value from the timing information of thecorresponding encoded packet into the given storage timing field andreset the value in the timing generator; and store the encoded packetonto the medium.
 23. The machine-readable medium of claim 22, whereinthe received encoded packets are in an MPEG2 format.
 24. Themachine-readable medium of claim 22, wherein the given storage timingfield includes a 42 bit timing value.
 25. The machine-readable medium ofclaim 22, wherein the predetermined period is 100 milliseconds.
 26. Themethod of claim 1, wherein the received encoded packets are transmittedin a transport stream.
 27. The method of claim 1, wherein the subset ofthe encoded packets include a program clock reference field that carriesthe timing information, and another subset of the encoded packetsexclude a program clock reference field that carries the timinginformation.
 28. The method of claim 1, wherein the storage timingfields are appended to the beginning of the respective correspondingencoded packets.
 29. The method of claim 1, wherein the predeterminedtime period does not exceed 100 milliseconds.
 30. The method of claim 1,wherein the multimedia information includes video content.
 31. Themethod of claim 1, wherein the multimedia information includes audiocontent.
 32. The method of claim 1, wherein the medium is a hard disk.33. The method of claim 1, wherein the medium is an optical isk.
 34. Themethod of claim 1, wherein the medium is a magnetic tape.
 35. The methodof claim 1, wherein the medium is a writable CD.
 36. The apparatus ofclaim 6, wherein the received encoded packet is transmitted in atransport stream.
 37. The apparatus of claim 2, wherein the subset ofthe encoded packets include a program clock reference field that carriesthe timing information, and another subset of the encoded packetsexclude a program clock reference field that carries the timinginformation.
 38. The apparatus of claim 2, wherein the storage timingfield is appended to the beginning of the encoded packet.
 39. Theapparatus of claim 6, wherein the predetermined time period does notexceed 100 milliseconds.
 40. The apparatus of claim 6, wherein themultimedia information includes video content.
 41. The apparatus ofclaim 6, wherein the multimedia information includes audio content. 42.The apparatus of claim 6, wherein the medium is a hard disk.
 43. Theapparatus of claim 6, wherein the medium is an optical disk.
 44. Theapparatus of claim 6, wherein the medium is a magnetic tape.
 45. Theapparatus of claim 6, wherein the medium is a writable CD.
 46. Themethod of claim 11, wherein the received encoded packets are transmittedin a transport stream.
 47. The method of claim 11, wherein the subset ofthe encoded packets include a program clock reference field that carriesthe timing information, and another subset of the encoded packetsexclude a program clock reference field that carries the timinginformation.
 48. The method of claim 11, wherein the storage timingfields are appended to the beginning of the respective correspondingencoded packets.
 49. The method of claim 11, wherein the predeterminedtime period does not exceed 100 milliseconds.
 50. The method of claim11, wherein the multimedia information includes video content.
 51. Themethod of claim 11, wherein the multimedia information includes audiocontent.
 52. The method of claim 11, wherein the medium is a hard disk.53. The method of claim 11, wherein the medium is an optical disk. 54.The method of claim 11, wherein the medium is a magnetic tape.
 55. Themethod of claim 11, wherein the medium is a writable CD.
 56. Theapparatus of claim 16, wherein the received encoded packet istransmitted in a transport stream.
 57. The apparatus of claim 16,wherein the subset of the encoded packets include a program clockreference field that carries the timing information, and another subsetof the encoded packets exclude a program clock reference field thatcarries the timing information.
 58. The apparatus of claim 16, whereinthe storage timing field is appended to the beginning of the encodedpacket.
 59. The apparatus of claim 16, wherein the predetermined timeperiod does not exceed 100 milliseconds.
 60. The apparatus of claim 16,wherein the multimedia information includes video content.
 61. Theapparatus of claim 16, wherein the multimedia information includes audiocontent.
 62. The apparatus of claim 16, wherein the medium is a harddisk.
 63. The apparatus of claim 16, wherein the medium is an opticaldisk.
 64. The apparatus of claim 16, wherein the medium is a magnetictape.
 65. The apparatus of claim 16, wherein the medium is a writableCD.
 66. The machine-readable medium of claim 22, wherein the receivedencoded packets are transmitted in a transport stream.
 67. Themachine-readable medium of claim 22, wherein the subset of the encodedpackets include a program clock reference field that carries the timinginformation, and another subset of the encoded packets exclude a programclock reference field that carries the timing information.
 68. Themachine-readable medium of claim 22, wherein the storage timing fieldsare appended to the beginning of the respective corresponding encodedpackets.
 69. The machine-readable medium of claim 22, wherein thepredetermined time period does not exceed 100 milliseconds.
 70. Themachine-readable medium of claim 22, wherein the multimedia informationincludes video content.
 71. The machine-readable medium of claim 22,wherein the multimedia information includes audio content.
 72. Themachine-readable medium of claim 22, wherein the medium is a hard disk.73. The machine-readable medium of claim 22, wherein the medium is anoptical disk.
 74. The machine-readable medium of claim 22, wherein themedium is a magnetic tape.
 75. The machine-readable medium of claim 22,wherein the medium is a writable CD.